package com.tbit.main.dao.core;

import com.tbit.main.pojo.ParkPointBound;
import com.tbit.main.pojo.ParkPointBoundCount;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author LMY
 * @create 2021-12-22 16:51
 */
public interface ParkPointBoundDao {

    List<ParkPointBound> getByAccountId(Map<String, Object> map);

    List<ParkPointBoundCount> getByAccountIdGroup(Map<String, Object> map);

    List<ParkPointBound> getByParkPointId(Map<String, Object> map);

    void updateTime(Map<String, Object> map);

    void add(ParkPointBound parkPointBound);

    void del(String machineNO);

    void update(Map<String, Object> map);

    ParkPointBound getByNO(Map<String, Object> map);

    List<ParkPointBound> getByNOTime(Map<String, Object> map);

    void updateState(@Param("machineNOs") String machineNOs, @Param("state") Integer state);

    List<ParkPointBound> getTime(Map<String, Object> map);

    List<ParkPointBoundCount> getTimeCount(Map<String, Object> map);

    List<ParkPointBoundCount> getByStateId(Map<String, Object> map);

    Set<Integer> getByParkPointIdAll();

    /**
     * 批量添加
     *
     * @param list
     */
    void addBatch(List<ParkPointBound> list);

    List<String> getByMachineNOs(Map<String, Object> map);

    /**
     * 批量删除
     *
     * @param map
     */
    void delBatch(Map<String, Object> map);
}
